<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>contact</title>
		<style type="text/css">
			table {
				border: 1px solid #000;
			}
			
			table thead,
			table tbody {
				border: 1px solid #000;
			}
			
			table tr {
				border: 1px solid #000;
			}
		</style>
		<script src="../js/jquery-1.7.2.min.js"></script>
		<script type="text/javascript">
			//
			//创建联系人
			//addressbook.create  创建一个系统联系人,并返回联系人对象,可对联系人对象进行操作设置联系人信息,如名称,地址,电话等
			if (window.plus) {
				plusReady();
			} else {
				dcontent.addEventListener("plusReady", function() {}, false);
			}
			///////////////////////////////////////////创建联系人////////////////////////////////////////////////
			//创建联系人
			function createContact(addressbook) {
				//
				//创建联系人对象
				//contact对象:
				//interface Contact
				//{
				//	readonly atribute String id;						[String] 联系人的id,只读,系统自动分配的id值
				//	attribute String displayName;						[String] 联系人显示的名字,联系人显示的名字通常由其姓和名组合而成
				//	attribute ContactName name;							[ContactName] 联系人的名称
				//	attribute String nickname;							[ContactName] 联系人的昵称
				//	attribute Contctfield[] phoneNumbers;				[String] 数组,联系人的电话
				//	attribute ContactField[] emails;					[ContactField[]] 数组,联系人的邮箱
				//	attribute ContactAddress[] address;					[ContactField[]] 数组,联系人的地址
				//	attribute ContactField[] ims;						[ContactAddress[]] 数组,联系人的即时通讯地址
				//	attribute ContactOriganization[] organizatoins;		[ContactField[]] 数组,联系人所属组织信息
				//	attribute Date birthday;							[ContactOriganization[]] 联系人的生日,Date类型
				//	attribute String note;								[Strign] 联系人的备注
				//	attribute ContactField[] photos;					[ContactField[]] 数组,联系人的头像
				//	attribute ContactField[] categories;				[ContactField[]] 数组,联系人的组名
				//	attribute ContactField[] urls;						[ContactField[]] 数组,联系人的网址
				//	function Contact clone();							[Contact] 克隆联系人()
				//	function void remove(successCB,errorCB);			[void] 删除联系人()
				//	function void save(successCB,errorCB);				[void] 保存联系人()
				//}
				var contact = addressbook.create();
				//
				//给联系人对象赋值
				//JSON对象,联系人名称对象
				//interface ContactName									
				//{
				//	attribute String formatted;							[String] 联系人的完成名称,由其他字段组合生成
				//	attribute String familyName;						[String] 联系人的姓
				//	attribute String givenName;							[String] 联系人的
				//	attribute String middleName;						[String] 联系人的中间名
				//	attribute String honorificPrefix;					[String] 联系人的前缀
				//	attribute String honorificSuffix;					[String] 联系人的后缀
				//}
				contact.name = {
					givenName: $("#txtName").val()
				};
				
				//
				//给联系人的地址赋值
				//JSON对象,联系人地址对象
				//interface ContactAddress
				//{
				//	attribute String type;								[String] 联系人地址类型,如home表示家庭地址,company表示单位地址
				//	attribute String formatted;							[String] 完整地址,由其他字段组合而成
				//	attribute String streetAddress;						[String] 完整的街道地址
				//	attribute String locality;							[String] 城市或地区
				//	attribute String region;							[String] 省或地区
				//	attribute String country;							[String] 国家
				//	attribute String postalCode;						[String] 邮政编码
				//	attribute Boolean preferred;						[Boolean] 是否为首选项
				//}
				contact.address ={};
				
				
				//
				//联系人所属组织信息
				//interface ContactOrganization							
				//{
				//	attribute String type;								[String] 联系人所属组织类型,如company
				//	attribute String name;								[String] 联系人所属组织名称
				//	attribute String department;						[String] 联系人所属组织部门
				//	attribute String title;								[String] 联系人在组织中的职位
				//	attribute String preferred;							[Boolean] 是否为首选项
				//}
				contact.ContactOrganization ={};
				
				//
				//ContactField
				//JSON对象
				//interface ContactField
				//{
				//	attribute String type;								[String] 联系人域类型,如电话号码中的mobile,home,company
				//	attribute String value;								[String] 联系人域值
				//	attribute Boolean preferred;						[Boolean] 是否为首选项
				//}
				contact.phoneNumbers = {
					
					type: $("#txtType").val(),
					value: $("#txtTel").val(),
					preferred: true
				};
				//
				//保存联系人
				contact.save();
				alert("create contact successful!!!");
			}
			//获取通讯录失败
			function getAddressBookError(e) {
				alert("get address book failed:" + e.message);
			}
			//调用创建联系人的方法
			function create() {
				plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, createContact, getAddressBookError);
				
			}
			///////////////////////////////////////////////////////////////////////////////////////////
			
			
			//////////////////////////////////////////查找联系人/////////////////////////////////////////////////
			
			function searchSCB(contacts)
			{
				alert(contacts.length);
			}
			
			function searchESB(e)
			{
				alert(e.message);
			}

//			function search() {
//				
//				var contactsField = ["displayName", "phoneNumbers"];
//				
//				//查找联系人参数
//				//interface ContactFindOption
//				//{
//				//	attribute ContactFindFilter[] filter;					//查找时的联系人域,可取联系人的属性名称
//				//	attribute Boolean multiple;
//				//}
//				
//				
//				var findOptions =
//				{
//					multiple:true
//					
//					//interface ContactFindFilter
//					//{
//					//	attribute String logic;								//[String] 区配的逻辑可取 or,and,not,默认值为and
//					//	attribute String field;								//[String] 区配的联系人域,可取联系人的属性
//					//	attribute String value;								//[String] 区配的联系人值,可使用区配符号"?"和"*"
//					//}
//					//   区配所有包括姓或名中包括“王”的联系人
//					//	 [{logic:"or",field:"displayNam",value:"*王*"},{logic:"or",field:"nickname",value:"*王*"}]		
//					ContactFindFilter:{}
//				};
//				
//				
//				
//				
//				//查找所有的联系人
//				plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook)
//				{
//					addressbook.find(contactsField,searchSCB,searchESB,findOptions);
//					
//				});
//			}
		</script>
	</head>

	<body>
		<table>
			<thead>
				<tr>
					<th>操作</th>
					<th>内容</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td>
						<button type="button" id="btnSaveContact" onclick="create()" >Save</button>
					</td>
					<td>
						<input type="text" name="txtName" id="txtName" value="" />
						<label for="txtName">名字</label>
						<input type="text" name="txtType" id="txtType" value="" />
						<label for="txtType">电话类型</label>
						<input type="text" name="txtTel" id="txtTel" value="" />
						<label for="txtTel">手机</label>
					</td>
				</tr>

				<tr>
					<td>
						<button type="button" id="btnSearchContact" onclick="search()">Search</button>
					</td>
					<td>
						<input type="text" />
						<label for=""></label>
						<input type="text" />
						<label for=""></label>
						<input type="text" />
						<label for=""></label>
					</td>
				</tr>
			</tbody>
		</table>
	</body>

</html>